import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { User } from '@/types/user'

// 定义一个 pinia 模块
// 参数1: 模块名
// 参数2: 组合式 API 的模块函数
// 参数3: 配置对象
export const useUserStore = defineStore(
  'user',
  () => {
    // setup 语法, 组合式 API

    // 定义 user 数据
    const user = ref<User>()

    // 设置用户
    const setUser = (u: User) => {
      user.value = u
    }

    // 删除用户
    const delUser = () => {
      user.value = undefined
    }

    return {
      user,
      setUser,
      delUser
    }
  },
  {
    persist: true
  }
)
